<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 书写代码实现promise.all方法 -->
    <script>
        let p1 = new Promise((resolve,reject) => {
            setTimeout(() =>{
                resolve(111);
                // reject("err")//有错误all就接收不到
            },1000)
        })

        let p2 = new Promise((resolve,reject) => {
            setTimeout(() =>{
                resolve(222)
            },2000)
        })
        // // 使用这个方法前提是都是Promise.all中的实例多少正确的状态
        Promise.all([1,2]).then(result =>{
            console.log(result);
        })


        // 自己的promise.all方法
        // function myPromiseAll(lists){
        //     return new Promise((resolve,reject) =>{
        //         let arr = [];
        //         let num = 0;
        //         lists.forEach(item => 
        //         { 
        //             item.then(res => {
        //                 arr.push(res);
        //                 num++;
        //                 if(num === lists.length){
        //                     resolve(arr);
        //                 }
        //             })
        //         })
            
        //     })
        // }

        // myPromiseAll([p1,p2]).then(res =>{
        //     console.log(res);
        // })



    </script>
</body>
</html>